<?php
use Illuminate\Support\Facades\Route;

Route::get('/', 'RootController@root')->name('root');


// 登录和退出
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');

// 用户注册相关路由
Route::get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
Route::post('register', 'Auth\RegisterController@register');

// 密码重置相关路由
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset')->name('password.update');

// 再次确认密码（重要操作前提示）
Route::get('password/confirm', 'Auth\ConfirmPasswordController@showConfirmForm')->name('password.confirm');
Route::post('password/confirm', 'Auth\ConfirmPasswordController@confirm');

// 邮箱认证相关路由
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}/{hash}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::post('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');

Route::resource('users','UsersController')->only(['show','update','edit']);

//帖子的资源路由
Route::resource('topics','TopicController')->except(['show']);
Route::get('topics/{topic}/{slug?}','TopicController@show')->name('topics.show');
Route::post('upload_image','TopicController@uploadImage')->name('topics.upload_image');

//分类
Route::resource('categories','CategoryController')->only(['show']);

//评论
Route::resource('replies','ReplyController')->only(['store','destroy']);

//消息通知
Route::resource('notifications','NotificationController')->only(['index']);
//访问后台被拒绝
Route::get('permission-denied','RootController@permissionDenied')->name('permission-denied');

